Ders 10 - Access Control Flaws > Remote Admin Access | |||||
Access Control Flaws ünitesinin dördüncü dersi olan
Remote Admin Access(Uzaktan Admin Erişimi) dersinde admin için hazırlanmış sayfaların admin olmayan bir kişi tarafından nasıl görüntülenebileceğine dair bir örnekten bahsedilecektir ve ayrıca bu açığın nasıl kapatılabileceğinden, bu tip durumlarla karşılaşılmaması için yapılması gerekenlerden bahsedilecektir.
Dersin HedefiAdmin'lerin erişebildiği ve normal kullanıcıların erişemediği idari sayfalardan birine normal kullanıcı olarak ulaşın.AçıklamalarUygulamalar sıklıkla ayrıcalıklı kullanıcıların erişebildiği, fakat normal kullanıcıların erişemediği bir idari arayüze sahip olurlar. Aynı şekilde uygulama sunucuları da bir admin arayüzüne sıklıkla sahip olurlar. WebGoat uygulaması bunlardan biridir. Bu web uygulamasında admin grubundaki kullanıcıların erişebileceği ve normal kullanıcıların erişemeyeceği bazı sayfalar vardır. Dikkat edin, "normal kullanıcıların erişemeyeceği" dendi. Eğer uygulama kusurlu bir şekilde geliştirilmişse - bu dersteki örnekte olduğu gibi - o zaman normal kullanıcılar da bu idari sayfalara erişebilir.Bu dersin odak noktası soldaki sıralı derslerin olduğu bölümün en aşağısından bir önceki link olan Admin Functions linkidir. Linkin yerini aşağıdaki resimden de görebilirsiniz. Admin Functions'a tıkladığınızda normal kullanıcı olarak erişebileceğiniz sayfaları görüntülersiniz. O da Report Card'tan ibarettir. Dersin Çözümü'nde Admin Functions başlığı altında şu an görünmeyen idari sayfaları nasıl görüntüleyebileceğinizden bahsedilecektir. Dersin ÇözümüÖncelikle WebGoat uygulama arayüzünde solda sıralı olan derslerin en aşağılarında yer alan Admin Functions linkine bir kez tıklayın. Görebileceğiniz üzere Admin Functions altında sadece bir sayfayı, yani sadece Report Card'ı görüntüleyebiliyorsunuz. Şimdi saklı olan diğer sayfaları görüntüleyelim. Bulunduğunuz ders ekranının linkine bir parametre ve değer eklenecektir. Bu bize admin sayfalarını görüntüleyebilme imkanı verecektir. O parametre ve değeri ise şudur: admin=true . Bunu adres çubuğundaki linkin sonuna şu şekilde ekleyiniz: &admin=true . Aşağıda buna bir örnek verilmiştir. (Bu örneği kopyala/yapıştır ile kullanmayınız. Çünkü screen parametresi enviroment'a göre rastgele değer almaktadır. Dolayısıyla linkin beni götürdüğü yer ile sizi götüreceği yer farklı olabilmektedir).:http://localhost:8080/WebGoat/attack?Screen=10&menu=200&admin=true Yukarıdaki link gibi kendi ders ekranı linkinizin sonuna &admin=true ekleyip enter'ladıktan sonra tekrar Admin Functions linkine tıklayınız. Aşağıdaki resimden de görebileceğiniz üzere yeni sayfalar ekrana gelecektir. Şimdi yeni görüntülenen sayfa linklerinden User Information'a sağ tıklayın ve Bağlantı Adresini Kopyala'ya(Copy Link Location'a) tıklayın. Ardından adres çubuğunu temizleyin ve sağ tık yapıp yapıştır deyin. Son olarak yapıştırdığınız linkin sonuna &admin=true ekleyin ve adresi enter'layın. Böylelikle dersi tamamlamış olursunuz. Peki tüm bu süreç bize ne öğretti? Admin sayfalarına erişimin parametre eksiltip arttırılarak yapılmasının bir güvenlik açığı olduğunu bize öğretti. Çünkü bizim yaptığımız gibi iyi bir tahminde güçte olsa saldırgan bulunabilir ve idari sayfalara erişebilir. Bu güvenlik açığını kapatmanın yollarından bir tanesi Session(oturum) endeksli bir sayfa erişim kontrolü sağlamaktır. Yani oturum açmış kullanıcı eğer admin'se o zaman o kullanıcı sayfayı görüntüleyebilsin, değilse görüntüleyemesin şeklinde bir if - else kontrolü sağlanmalıdır. Örneğin idari bir sayfayı keşfeden bir saldırgan sayfayı görüntüleme teşebbüsünde bulunduğunda aşağıdaki gibi bir kontrolle bloklanır: if($_SESSION['kullanici'] == "admin"){ // İdari sayfaların kodları } else{ // Oturum Aç Ekranı } WebGoat uygulamasında idari sayfalara oturum(session) endeksli bir sayfa erişim kontrolü yoktur. Parametre endeksli bir sayfa erişim kontrolü vardır. Dolayısıyla bu güvenlik açığından faydalanarak idari sayfaları bu derste görüntülemiş olduk. |
|||||
Bu yazı 11.05.2015 tarihinde, saat 08:19:55'de yazılmıştır. 23.09.2015 tarihi ve 10:40:43 saatinde ise güncellenmiştir. | |||||
|
|||||
Yorumlar |
|||||
Henüz yorum girilmemiştir. | |||||
Yorum Ekle | |||||